import Vue from "vue";

import "normalize.css/normalize.css"; // A modern alternative to CSS resets

import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
import locale from "element-ui/lib/locale/lang/en"; // lang i18n

import "@/styles/index.scss"; // global css

import App from "./App";
import store from "./store";
import router from "./router";

import "@/icons"; // icon
import "@/permission"; // permission control

// set ElementUI lang to EN
// Vue.use(ElementUI, { locale });
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI);

// 导入打印插件
import Print from "vue-print-nb";
// Global instruction
Vue.use(Print);

// *表示导入全部，将导出的数据全部作为obj的属性
import * as obj from "@/disrectives";

// 遍历对象，分别将其设置成指定义指令
for (const key in obj) {
  Vue.directive(key, obj[key]);
}

// 注册全局过滤器
import * as filters from "@/filters";
for (const key in filters) {
  Vue.filter(key, filters[key]);
}

Vue.config.productionTip = false;

// 注册全局组件
import component from "@/components";
Vue.use(component);

new Vue({
  el: "#app",
  router,
  store,
  render: h => h(App)
});
